1. Field of the Invention
The present invention generally relates to Universal Serial Bus (USB), and more particularly to a USB 3.0 transaction translator (U3TT) and an associated isochronous-IN transaction method.
2. Description of Related Art
Universal Serial Bus (USB) is a specification of peripheral devices to establish communication between the devices and a host. USB 3.0 was released in 2008, and a USB 3.0 cable is shown in FIG. 1A. In addition to a signal pair D+/D− for USB 2.0 data path, two signal pairs SSTX+/SSTX− and SSRX+/SSRX− are further provided for USB 3.0 SuperSpeed data path.
When a USB 2.0 device is coupled to a USB 3.0 host, communication is performed over the non-SuperSpeed data path D+/D−. The applicant of the present invention discloses a USB 3.0 transaction translator (U3TT) in China Patent Application No. 201010129143.4, the disclosure of which is hereby incorporated by reference. The U3TT 10 as shown in FIG. 1B is coupled between the USB 3.0 host 12 and the USB 2.0 device 14, and is utilized to upgrade the USB 2.0 device to act as a quasi-USB 3.0 device such that data transfer speed can be improved.
USB provides four information transfer types: control transfer, bulk transfer, interrupt transfer and isochronous transfer, among which the isochronous transfer type reserves sufficient bandwidth with guaranteed transfer speed and is commonly used in audio or video data transfer. However, as the isochronous transfer type will not correct errors or retry packets, it cannot guarantee the correctness of transferred data.
FIG. 2 shows a flow diagram of isochronous-IN transaction using the U3TT. In step 21, the USB 3.0 host sends an IN acknowledge packet to the U3TT. Subsequently, in step 22, the U3TT translates the USB 3.0 IN acknowledge packet into a USB 2.0 IN token packet, and then sends the USB 2.0 IN token packet to the USB 2.0 device via a serial interface engine (SIE). Afterwards, in step 23, when the USB device is ready to send data, the USB 2.0 device responds to the U3TT with the USB 2.0 data in step 23. Finally, in step 24, the U3TT translates the USB 2.0 data into USB 3.0 data, and then sends the translated USB 3.0 data to the USB 3.0 host. According to the flow described above, the device will not respond to the host with data until the host sends an IN packet to the device.
One disadvantage of the above flow is that the host and the device stay in an idle state during a period from the device receives an IN packet until the device are ready to send data, therefore wasting the waiting time and bus bandwidth. Another disadvantage of the above flow is that the host will cancel the isochronous-IN transaction if the idle period of the device exceeds a predefined value.
In order to overcome the disadvantages mentioned above, a need has arisen to propose an improved U3TT and a novel isochronous-IN transaction method to reduce idle period and improve USB 2.0 bandwidth usage.